function C = A1(C,CON)
  %**********************************************************************
  %*** * The Aerodynamic Module A1.
  %*** * Reserved C(3510) locations are 1200-1299
  %*** ******************************************************************            
  %**********************************************************************
  %*** *  MAERO =|MAERT| |MAERV|   (Type,Vehicle)
  %*** *
  %*** *          MAERT=1 Test Ascent Rocket
  %*** *                  MAERV=1 1.Stage
  %*** *                       =2 2.Stage
  %*** *                       =3 3.Stage
  %*** *
  %*** * This function:
  %*** * (1) Provides  CL and CD as functions of Mach
  %*** ******************************************************************

  %% common c(3510);
  %% common bcom_1(3510);
  
  disp('A1');

  %***  INPUT DATA
  maero = C(CON.MAERO);
  alphax = C(CON.ALPHAX);

  % equivalence(bcom_1(1200),maero) ::;
  % equivalence(bcom_1(1203),alphax) ::;

  % MAERO = D =|MAERT|MAERV|, MAERT=1:Type, MAERV:Stage #
  % ALPHAX = D/O Angle of attack - deg

  %*** INPUT FROM EXECUTIVE

  % equivalence(bcom_1(0052),crad) ::;

  crad = C(CON.CRAD);

  %*** INPUT FROM OTHER MODULES

  vmach = C(CON.VMACH);
  mprop = C(CON.MPROP);

  % equivalence(bcom_1(0206),vmach) ::;
  % equivalence(bcom_1(1300),mprop) ::;

  % VMACH= O Mach number of rocket - ND
  % MPROP= D/G =0:No thrust; =1:Coasting =2:Burning

  %*** OUTPUT TO OTHER MODULES
  cd = C(CON.CD);
  cl = C(CON.CL);

  % equivalence(bcom_1(1201),cd) ::;
  % equivalence(bcom_1(1202),cl) ::;

  % CD = O Drag coefficient - ND
  % CL = O Lift coefficient - ND

  %*** DIAGNOSTICS
  %ca = C(CON.CA);
  %cn = C(CON.CN);
  %clovercd = C(CON.CLOVERCD);

  % equivalence(bcom_1(1206),ca) ::;
  % equivalence(bcom_1(1207),cn) ::;
  % equivalence(bcom_1(1208),clovercd) ::;

  % CA = G Axial force coefficient - ND
  % CN = G Normal force coefficient - ND
  % CLOVERCD = G Lift over drag - ND

  maert=fix(maero./10.);
  maerv=maero-maert.*10.;
  alpha=alphax./crad;
  calph=cos(alpha);
  salph=sin(alpha);

  disp('MAERT' );
  disp(maert);
  maert = 1;

  if(maert == 1)
    if(maerv == 1)
      %*** FIRST STAGE
      if(mprop == 2)
        caa=.281+.186.*vmach-.056.*vmach.^2+.00366.*vmach.^3;
      else
        caa=.346+.183.*vmach-.058.*vmach.^2+.00382.*vmach.^3;
      end;
    cnn=(5.006-.519.*vmach+.031.*vmach.^2).*alpha;
    end;

    if(maerv == 2)
      %*** SECOND STAGE
      if(mprop == 2)
        caa=.236-.043.*vmach+.0029.*vmach.^2-.00006.*vmach.^3;
      else
        caa=.327-.067.*vmach+.005.*vmach.^2-.0001.*vmach.^3;
      end;
      cnn=(1.714-.038.*vmach+.0014.*vmach.^2).*alpha;
    end;

    if(maerv == 3)
      %*** THIRD STAGE
      caa=.02;
      cnn=1.*alpha;
    end;


    %*** CONVERT COEFFICIENTS
    cdd=caa.*calph+cnn.*salph;
    cll=cnn.*calph-caa.*salph;

    C(CON.CL) = cll;
    C(CON.CD) = cdd;

    C(CON.CLOVERCD) = cl./cd;

    C(CON.CN) = cl.*calph+cd.*salph;
    C(CON.CA) = cd.*calph-cl.*salph;

  end;

end

